package thread;

public class SyncDemo2 {
    public static void main(String[] args) {
        //Shop shop = new Shop();
        Shop shop1 = new Shop();
        Shop shop2 = new Shop();
        Thread t1 = new Thread("范传奇") {
            public void run() {
                //shop.buy();
                shop1.buy();
            }
        };
        Thread t2 = new Thread("王克晶") {
            public void run() {
                //shop.buy();
                shop2.buy();
            }
        };
        t1.start();
        t2.start();
    }
}

class Shop {
    //public synchronized void buy(){
    public void buy() {
        try {
            Thread t = Thread.currentThread();
            System.out.println(t.getName() + ":正在挑选衣服...");
            Thread.sleep(5000);

            synchronized (this) {//此环节不允许多个线程一起执行
                //synchronized (new Object()){无效的锁对象，只要是new一定无效
                //synchronized ("abc"){
                System.out.println(t.getName() + ":正在试穿衣服...");
                Thread.sleep(5000);
            }

            System.out.println(t.getName() + ":结账离开");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
